///*
// * COPYRIGHT. ShenZhen GreatVision Network Technology Co., Ltd. 2015.
// * ALL RIGHTS RESERVED.
// *
// * No part of this publication may be reproduced, stored in a retrieval system, or transmitted,
// * on any form or by any means, electronic, mechanical, photocopying, recording,
// * or otherwise, without the prior written permission of ShenZhen GreatVision Network Technology Co., Ltd.
// *
// * Amendment History:
// *
// * Date                   By              Description
// * -------------------    -----------     -------------------------------------------
// * Apr 17, 2015    YangShengJun         Create the class
// */
//package com.nj.core.base.dao;
//
//import java.util.List;
//import java.util.Map;
//
//import javax.annotation.Resource;
//
//import org.apache.ibatis.session.ExecutorType;
//import org.apache.ibatis.session.SqlSession;
//import org.apache.ibatis.session.SqlSessionFactory;
//import org.mybatis.spring.SqlSessionTemplate;
//import org.springframework.stereotype.Repository;
//
///**
// * @FileName BaseDaoImpl.java
// * @Description:
// *
// * @Date Apr 17, 2015
// * @author YangShengJun
// * @version 1.0
// *
// */
//@Repository("BaseDao")
//public class BaseDaoImpl implements BaseDao {
//
//	@Resource(name = "sqlSessionTemplate")
//	private SqlSessionTemplate sqlSessionTemplate;
//
//	public int save(String str, Object obj) throws Exception {
//		return sqlSessionTemplate.insert(str, obj);
//	}
//
//	public <T> int batchSave(String str, List<T> objs) throws Exception {
//		return sqlSessionTemplate.insert(str, objs);
//	}
//
//	public int update(String str, Object obj) throws Exception {
//		return sqlSessionTemplate.update(str, obj);
//	}
//
//	public <T> void batchUpdate(String str, List<T> objs) throws Exception {
//		SqlSessionFactory sqlSessionFactory = sqlSessionTemplate.getSqlSessionFactory();
//		// 批量执行器
//		SqlSession sqlSession = sqlSessionFactory.openSession(ExecutorType.BATCH, false);
//		try {
//			if (objs != null) {
//				for (int i = 0, size = objs.size(); i < size; i++) {
//					sqlSession.update(str, objs.get(i));
//				}
//				sqlSession.flushStatements();
//				sqlSession.commit();
//				sqlSession.clearCache();
//			}
//		} finally {
//			sqlSession.close();
//		}
//	}
//
//	public int delete(String str, Object obj) throws Exception {
//		return sqlSessionTemplate.delete(str, obj);
//	}
//
//	public <T> int batchDelete(String str, List<T> objs) throws Exception {
//		return sqlSessionTemplate.delete(str, objs);
//	}
//
//	public <T> T findForObject(String str, Object obj) throws Exception {
//		return sqlSessionTemplate.selectOne(str, obj);
//	}
//
//	public <E> List<E> findForList(String str, Object obj) throws Exception {
//		return sqlSessionTemplate.selectList(str, obj);
//	}
//
//	public <K, V> Map<K, V> findForMap(String str, Object obj, String key, String value) throws Exception {
//		return sqlSessionTemplate.selectMap(str, obj, key);
//	}
//
//	@SuppressWarnings({ "unchecked", "rawtypes" })
//	@Override
//	public <T> T getMapper(Class cls) throws Exception {
//		return (T) sqlSessionTemplate.getMapper(cls);
//	}
//
//}
